@tailwind base;
@tailwind components;
@tailwind utilities;

@font-face {
  font-family: 'TasaExplorer';
  src:
    local('TasaExplorer'),
    url('./assets/fonts/TASAExplorerVF.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  src:
    local('Inter'),
    url('./assets/fonts/InterVariable.ttf') format('truetype');
}

@font-face {
  font-family: 'GeistMonoVF';
  src:
    local('GeistMonoVF'),
    url('./assets/fonts/GeistMonoVF.woff') format('woff');
}

:root {
  --font-inter: 'Inter', sans-serif;
  --tasa-explorer: 'TasaExplorer', sans-serif;
  --geist-mono: 'GeistMonoVF', monospace;
}

/* width */
::-webkit-scrollbar {
  width: 5px;
  height: 8px;
}

/* Track */
::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 5px;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: hsl(var(--border));
  border-radius: 4px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555;
}

@layer base {
  :root {
    --background: 0 0% 3.92% 1;
    --foreground: 240 10% 3.9%;
    --card: 0 0% 100%;
    --card-foreground: 240 10% 3.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 240 10% 3.9%;
    --primary: 240 5.9% 10%;
    --primary-foreground: 0 0% 98%;
    --secondary: 240 4.8% 95.9%;
    --secondary-foreground: 240 5.9% 10%;
    --muted: 240 4.8% 95.9%;
    --muted-foreground: 240 3.8% 46.1%;
    --accent: 240 4.8% 95.9%;
    --accent-blue: 210 60% 53.1%;
    --accent-foreground: 240 5.9% 10%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border: 0 0% 20.4%;
    --input: 240 5.9% 90%;
    --ring: 240 10% 3.9%;
    --chart-1: 12 76% 61%;
    --chart-2: 173 58% 39%;
    --chart-3: 197 37% 24%;
    --chart-4: 43 74% 66%;
    --chart-5: 27 87% 67%;
    --radius: 0.5rem;
    --sidebar-background: 0 0% 98%;
    --sidebar-foreground: 240 5.3% 26.1%;
    --sidebar-primary: 240 5.9% 10%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-black: 0 0% 100%;
    --sidebar-border: 220 13% 91%;
    --sidebar-ring: 217.2 91.2% 59.8%;
    --top-bar-height: 40px;
  }
  .dark {
    --background: 0 0% 3.92% 1;
    --foreground: 0 0% 98%;
    --card: 240 10% 3.9%;
    --card-foreground: 0 0% 98%;
    --popover: 240 10% 3.9%;
    --popover-foreground: 0 0% 98%;
    --primary: 0 0% 98%;
    --primary-foreground: 240 5.9% 10%;
    --secondary: 240 3.7% 15.9%;
    --secondary-foreground: 0 0% 98%;
    --muted: 240 3.7% 15.9%;
    --muted-foreground: 240 5% 64.9%;
    --accent: 0 0% 16.08/50%;
    --accent-foreground: 0 0% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 0% 98%;
    --border: 0 0% 20.4%;
    --input: 240 3.7% 15.9%;
    --ring: 240 4.9% 83.9%;
    --chart-1: 220 70% 50%;
    --chart-2: 160 60% 45%;
    --chart-3: 30 80% 55%;
    --chart-4: 280 65% 60%;
    --chart-5: 340 75% 55%;
    --sidebar-background: 0 0% 9.02%;
    --sidebar-foreground: 240 4.8% 95.9%;
    --sidebar-primary: 224.3 76.3% 48%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 240 3.7% 15.9%;
    --sidebar-accent-foreground: 240 4.8% 95.9%;
    --sidebar-black: 0 0% 0%;
    --sidebar-border: 240 3.7% 15.9%;
    --sidebar-ring: 217.2 91.2% 59.8%;

    --color-thumb: rgb(64, 64, 64);
    --color-thumb-hover: rgb(96, 96, 96);
    --color-track: transparent;
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
  }
  html {
    scrollbar-color: var(--color-thumb) var(--color-track);
    scrollbar-width: thin;
  }

  *:focus,
  *:focus-visible {
    @apply outline-none;
  }

  *:focus-visible {
    @apply outline outline-accent1;
  }
}

.react-flow__controls-button {
  @apply !text-mastra-el-5 !bg-mastra-bg-1 !border-none;
}

.scorerListItem:has(+ .expanded) {
  border-bottom: none;
}

.scorerListItem.expanded:has(+ .expanded) {
  margin-bottom: 5px;
}

@keyframes slideDown {
  from {
    height: 0;
  }
  to {
    height: var(--radix-collapsible-content-height);
  }
}

@keyframes slideUp {
  from {
    height: var(--radix-collapsible-content-height);
  }
  to {
    height: 0;
  }
}

div[class^='language-'],
pre[class^='language-'],
code[class^='language-'] {
  font-family: var(--geist-mono) !important;
}

th:has(header) {
  height: var(--top-bar-height) !important;
  padding-block: 0 !important ;
}
